package com.sanploy.manage.mapper;


import com.sanploy.common.domain.Banner;
import com.sanploy.common.domain.dto.BannerDto;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
 * Created by zhu yingzhi on 2017/9/8.
 * @author yingzhi zhu
 * 后台轮播图数据库操作类
 */
@Mapper
public interface BannerMapper {

    /**
     * 添加轮播图
     * @param bannerDto 轮播图DTO
     * @return 添加影响行数
     */
    int addBanner(BannerDto bannerDto);

    /**
     * 修改轮播图
     * @param banner 轮播图实体
     * @return 编辑影响行数
     */
    int editBanner(Banner banner);

    /**
     * 查找所有轮播图
     * @return 轮播图实体 集合
     */
    @Select("SELECT * FROM banner ORDER BY sort_order DESC ")
    List<Banner> findAllBanner();

    /**
     * 通过id查找轮播图
     * @param id 轮播图id
     * @return 轮播图实体
     */
    @Select("SELECT * FROM banner WHERE id=#{id}")
    Banner findById(@Param("id") Long id);

    /**
     * 通过id删除轮播图
     * @param id 轮播图id
     * @return 删除影响行数
     */
    @Delete("DELETE FROM banner WHERE id=#{id}")
    int deleteBanner(@Param("id") Long id);
}
